package com.ee.chat.common.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ee.chat.common.entity.PayChannel;
import com.ee.chat.common.entity.PayChannelConfig;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * Mapper接口
 * </p>
 *
 * @author Shane
 * @since 2020-10-14
 */
public interface PayChannelConfigMapper extends BaseMapper<PayChannelConfig> {
    /**
     * 获取随机一个指定渠道
     * @param channelId 渠道id
     * @param type  渠道类型，0-原生  1-支付派
     * @return
     */
    PayChannelConfig selectOne(@Param("channelId") Integer channelId, @Param("type") Integer type);

    List<PayChannelConfig> selectByStatus(@Param("status") Integer status);

    /**
     * 获取支付渠道集合中指定类型的一个渠道
     * @param channelConfigIds  渠道id集合
     * @param channelId         渠道分类id
     * @param type              渠道类型，-1-非原生 其他-特定渠道类型
     * @return
     */
    PayChannelConfig selectChannelOne(@Param("channelConfigIds") List<Integer> channelConfigIds, @Param("channelId") Integer channelId, @Param("type") Integer type);

    /**
     * 获取不为type的支付渠道
     * @param channelId
     * @param type
     * @return
     */
    PayChannelConfig selectOneNot(@Param("channelId") Integer channelId, @Param("type") Integer type);

    /**
     * 获取用户支付渠道信息
     * @param userId
     * @return
     */
    Map<String, Object> selectByUserPay(@Param("userId") Integer userId);
}